package cn.lzj.pojo;

import lombok.Data;

import java.util.Map;
import java.util.Set;

public class Cart {

    private Map<Integer,CartItem> cartItemMap;//key表示商品id，value表示对应的商品
    private Double totalMoney;//购物车的总金额
    private Integer totalCount;//购物车的购物项的数量
    private Integer totalProductCount;//购物车中商品的总数量

    public Map<Integer, CartItem> getCartItemMap() {
        return cartItemMap;
    }

    public void setCartItemMap(Map<Integer, CartItem> cartItemMap) {
        this.cartItemMap = cartItemMap;
    }

    public Double getTotalMoney() {
        totalMoney = 0.0;
        if(cartItemMap!=null && cartItemMap.size() > 0){
            Set<Map.Entry<Integer, CartItem>> entries = cartItemMap.entrySet();
            for(Map.Entry<Integer, CartItem> temp:entries){
                totalMoney += temp.getValue().getCartItemPrice()*temp.getValue().getCartItemNum();
            }
        }
        return totalMoney;
    }


    public Integer getTotalCount() {
        totalCount = 0;
        if(cartItemMap!=null && cartItemMap.size() > 0){
            totalCount = cartItemMap.size();
        }
        return totalCount;
    }


    public Integer getTotalProductCount() {
        totalProductCount = 0;
        Set<Map.Entry<Integer, CartItem>> entries = cartItemMap.entrySet();
        if(cartItemMap!=null && cartItemMap.size() > 0){
            for(Map.Entry<Integer, CartItem> temp:entries){
                totalProductCount += temp.getValue().getCartItemNum();
            }
        }
        return totalProductCount;
    }

    public void setTotalMoney(Double totalMoney) {
        this.totalMoney = totalMoney;
    }
}
